package org.jeecg.modules.live.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @Description: 直播申请
 * @Author: jeecg-boot
 * @Date:   2020-05-06
 * @Version: V1.0
 */
@Data
@TableName("live_apply_info")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="live_apply_info对象", description="直播申请")
public class LiveApply {

	/**主键ID 直播申请ID*/
	@TableId(type = IdType.ID_WORKER_STR)
    @ApiModelProperty(value = "主键ID 直播申请ID")
	private String id;
	/**创建人*/
	@Excel(name = "创建人", width = 15)
    @ApiModelProperty(value = "创建人")
	private String createBy;
	/**创建时间*/
	@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
	private Date createTime;
	/**修改人*/
	@Excel(name = "修改人", width = 15)
    @ApiModelProperty(value = "修改人")
	private String updateBy;
	/**修改时间*/
	@Excel(name = "修改时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "修改时间")
	private Date updateTime;
	/**申请人*/
	@Excel(name = "申请人", width = 15)
    @ApiModelProperty(value = "申请人")
	private String userId;
	/**申请人*/
	@Excel(name = "用户手机号", width = 15)
	@ApiModelProperty(value = "用户手机号")
	private String userMobile;
	/**申请时间*/
	@Excel(name = "申请时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "申请时间")
	private Date applyTime;
	/**申请人姓名*/
	@Excel(name = "申请人姓名", width = 15)
    @ApiModelProperty(value = "申请人姓名")
	private String realName;
	/**申请人身份证*/
	@Excel(name = "申请人身份证", width = 15)
    @ApiModelProperty(value = "申请人身份证")
	private String idCard;
	/**身份证正面照片*/
	@Excel(name = "身份证正面照片", width = 15)
    @ApiModelProperty(value = "身份证正面照片")
	private String idCardImgFront;
	/**身份证反面照片*/
	@Excel(name = "身份证反面照片", width = 15)
    @ApiModelProperty(value = "身份证反面照片")
	private String idCardImgBack;
	/**手持身份证照片*/
	@Excel(name = "手持身份证照片", width = 15)
    @ApiModelProperty(value = "手持身份证照片")
	private String idCardImgHolding;
	/**申请状态 0：申请中 1：审核通过 2：审核不通过 3：重新申请中*/
	@Excel(name = "申请状态 0：申请中 1：审核通过 2：审核不通过 3：重新申请中", width = 15)
    @ApiModelProperty(value = "申请状态 0：申请中 1：审核通过 2：审核不通过 3：重新申请中")
	private Integer applyStatus;
	/**申请拒绝备注*/
	@Excel(name = "申请拒绝备注", width = 15)
    @ApiModelProperty(value = "申请拒绝备注")
	private String applyRefuseRemark;
	/**审核人*/
	@Excel(name = "审核人", width = 15)
    @ApiModelProperty(value = "审核人")
	private String examineUser;
	/**审核时间*/
	@Excel(name = "审核时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "审核时间")
	private Date examineTime;
	/**直播是否永久有效*/
	@Excel(name = "直播是否永久有效", width = 15)
    @ApiModelProperty(value = "直播是否永久有效")
	private Integer isNeverExpires;
	/**直播有效开始时间*/
	@Excel(name = "直播有效开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "直播有效开始时间")
	private Date expiresStartTime;
	/**直播有效结束时间*/
	@Excel(name = "直播有效结束时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "直播有效结束时间")
	private Date expiresEndTime;
	@Excel(name = "申请人账号昵称", width = 15)
	@ApiModelProperty(value = "申请人账号昵称")
	private String applyAccountNickName;


	@ApiModelProperty(value = "审核人昵称")
	@TableField(exist=false)
	private String examineUserName;

}
